package br.com.sismo.client;

import java.util.List;

import br.com.sismo.shared.CursoTO;
import br.com.sismo.shared.UsuarioTO;

import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * The async counterpart of <code>GreetingService</code>.
 */
public interface GreetingServiceAsync {
	void greetServer(String input, AsyncCallback<String> callback)
			throws IllegalArgumentException;

	void findAllUsuarios(AsyncCallback<List<UsuarioTO>> callback);

	void findUsuarioByNome(String nome, AsyncCallback<List<UsuarioTO>> callback);

	void addUsuario(UsuarioTO u, AsyncCallback<Void> callback);

	void numUsuarios(AsyncCallback<Integer> callback);

	void removeUsuario(Long id, AsyncCallback<Void> callback);

	void addCurso(CursoTO c, AsyncCallback<Void> callback);

	void findAllCursos(AsyncCallback<List<CursoTO>> callback);

	void removeCurso(Long id, AsyncCallback<Void> callback);

	void findUsuariosByIds(List<Long> ids,
			AsyncCallback<List<UsuarioTO>> callback);
}
